﻿using System;
using System.Collections.Generic;
using System.Linq;

namespace nRoute.Components.Composition
{
    public interface ITypeBuilder
    {
        Object BuildType(Type type);
        
        T BuildType<T>();

        //Object BuildType(Type type, bool useReflection);

        //T BuildType<T>(bool useReflection);

        //Object BuildUp(Object instance);

        //T BuildUp<T>(T instance);

        IResourceCatalog ResourceCatalog { get; }
    }
}
